package org.amse.tanks;

import org.amse.tanks.controller.*;

public class Main {
    public static void main(String[] args) {

        if (args.length != 0) {
            if (args[0].charAt(0) == 's') {
                new ServerController(args);
            } else {
                if (args[0].charAt(0) == 'c') {
                    new ClientController(args);
                } else {
                    new LocalController(args);
                }
            }
        } else {
            System.out.println("Parameters usage example:");
            System.out.println("\"s 10 1 10000\" - as server, 10 - bots number, 1 - humans number, 10000 - server's port");
            System.out.println("\"c 192.168.0.2 10000\" - as client, 192.168.0.2 - server's IP, 10000 - server's port");
            System.out.println("\"l 10 1\" - local, 10 - bots number, 1 - humans number or \"l\" to default local");
        }

//    //bot #1
//        Tank tank = new Tank();
//        tank.setDirection(Direction.DOWN);
//        tank.setX(15);//27);
//        tank.setY(8);//0);
//        Bot bot1 = new Bot(model, tank);
//
//    //bot #2
//        tank = new Tank();
//        tank.setDirection(Direction.LEFT);
//        tank.setX(27);
//        tank.setY(13);
//        Bot bot2 = new Bot(model, tank);
//
//    //my tank
//        tank = new Tank();
//        tank.setDirection(Direction.RIGHT);
//        tank.setX(0);
//        tank.setY(0);
//        int myId = tank.getId();
//        model.addTank(tank);
//
//        while (!model.isOver()) {
//            view.update();
//
//            str1 = new String(getKbdString());
//
//            if (str1.contains("w")) {
//                System.out.print("up\n");
//                model.moveTankUp(myId);
//            }
//            if (str1.contains("a")) {
//                System.out.print("left\n");
//                model.moveTankLeft(myId);
//            }
//            if (str1.contains("s")) {
//                System.out.print("down\n");
//                model.moveTankDown(myId);
//            }
//            if (str1.contains("d")) {
//                System.out.print("right\n");
//                model.moveTankRight(myId);
//            }
//            if (str1.contains("e")) {
//                System.out.print("shot\n");
//                model.TankMakeShot(myId);
//            }
//            if (str1.contains("q")) {
//                break;
//            }
//
//            bot1.makeStep();
//            bot2.makeStep();
//             /*
//            try {
//                Thread.sleep(500);
//            } catch (InterruptedException e) {
//                e.printStackTrace();
//            }  */
//
//            model.tick();
//            //view.update();
//            //str1 = new String(getKbdString());
//
//            //model.tick();
//        }
    }
}
